#ifndef APP_H_
#define APP_H_

#ifdef WX_GCH
#include <wx_pch.h>
#else
#include <wx/wx.h>
#endif

#include <iostream>
using namespace std;

/**
 * \brief Class implementint the OnInit method, which is the way in to execute wxwidgets applications.
 * 
 * This class inherits from wxApp, which is the main class of a wxwidgets application. In the OnInit method,
 * all the GUI will be instanciated, and the threads will be started.
 */
class App : public wxApp
	{

	public:
	
		/**
		 * \brief Constructor
		 * 
		 * Nothing to be done.
		 */	
		App();
		
		/**
		 * \brief Method called when the application begins.
		 * 
		 * This method instanciate a MainFrame, a wxCamWindow, and a Camera. The wxCamWindow will be assigned
		 * to the MainFrame, and the Camera to the wxCamWindow. A CamThread will be created and started.
		 */
		virtual bool OnInit();
		
	};
	
	DECLARE_APP(App);
#endif /*APP_H_*/
